package org.springframework.context;

import org.springframework.beans.factory.HierarchicalBeanFactory;
import org.springframework.beans.factory.ListableBeanFactory;
import org.springframework.core.io.ResourceLoader;

/**
 * @Name ApplicationContext
 * @Description: 应用上下文接口
 * 描述信息：BeanFactory 是 Spring 的基础设施，面向 Spring 本身。而 ApplicationContext 面向 Spring 的使用者，在应用场合下使用 ApplicationContext 应用上下文。
 * 说明：ApplicationContext 继承自 HierarchicalBeanFactory、ListableBeanFactory、ResourceLoader、ApplicationEventPublisher，兼备几者的能力。除了拥有 BeanFactory 的所有功能之外，还支持以下特殊类型的 Bean 功能，包括：
 * - BeanFactoryPostProcessor、BeanPostProcessor 的自动识别，这样就可以在 Xml 中或使用注解进行配置了；
 * - 资源加载；
 * - 单例 Bean 的自动初始化；
 * - 事件发布与监听；
 * - 国际化；
 * - 等。
 * @Version v1.0.0
 * @Author: lichao
 * @Date: 2024-03-19 19:08:15
 **/
public interface ApplicationContext extends HierarchicalBeanFactory, ListableBeanFactory, ResourceLoader, ApplicationEventPublisher {
}
